package com;

import com.define.ShapeEnum;
import com.factory.ShapeFactory;
import com.iface.Shape;

public class Test {

    public static void main(String[] args) {
        // 创建工厂
        ShapeFactory factory = new ShapeFactory();

        // 模拟前端传值，枚举数字
        Integer enumCode = -1;

        // 通过 枚举数字 置换 枚举名称
        String enumName = null;
        for ( ShapeEnum shapeEnum: ShapeEnum.values()) {
            if ( shapeEnum.code == enumCode ){
                enumName = shapeEnum.name;
                break;
            }
        }

        // 根据产品名从工厂中拿到想要的产品
        Shape shape = factory.getShape(enumName);

        // 打印测试（鲁棒性加持）
        if ( shape != null )
            shape.draw();
        else
            System.out.println("工厂无法生产用户当前指定代号的产品");

    }

}
